Telegram Group Search
Проведите кодревью: как улучшить этот код?

Пишите свои предложения в комменты, там же можете найти код текстом.
Please open Telegram to view this post
VIEW IN TELEGRAM
😮 Топ-вакансий для джавистов за неделю

Руководитель группы разработки (Java + Go) — 400 000 —‍ 600 000 ₽ — гибрид (Москва)

Java Developer — от 120 000 до 150 000 ₽ — гибрид (Москва)

Java Developer — 250 000 —‍ 300 000 ₽ — гибрид (Москва)

Java-разработчик — от 200 000 ₽ — гибрид (Москва, Санкт-Петербург)

➡️ Еще больше топовых вакансий — в нашем канале Java jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🎮 Оптимизация запросов с использованием индексов в PostgreSQL и MySQL

Проблема: при проектировании баз данных часто возникает необходимость ускорить выполнение запросов, особенно при работе с большими объемами данных. Неправильное использование или отсутствие индексов может привести к значительным задержкам в обработке запросов, что негативно сказывается на производительности приложений.

Решение: в книге "Database Design and Modeling with PostgreSQL and MySQL" авторы подробно рассматривают методы оптимизации запросов с помощью индексов. Они объясняют, как правильно создавать и использовать индексы для ускорения выполнения запросов, а также как анализировать планы выполнения запросов для выявления узких мест.

Пример создания индекса и анализа плана выполнения запроса в PostgreSQL:
-- Создание индекса на столбец email в таблице users
CREATE INDEX idx_users_email ON users(email);

-- Анализ плана выполнения запроса
EXPLAIN ANALYZE
SELECT * FROM users WHERE email = '[email protected]';


В этом примере создается индекс на столбец email таблицы users, что позволяет значительно ускорить выполнение запроса поиска пользователя по email. Команда EXPLAIN ANALYZE используется для анализа плана выполнения запроса и оценки его эффективности.

Преимущества:


— Использование индексов позволяет существенно сократить время выполнения запросов, особенно при работе с большими таблицами.
— Анализ планов выполнения запросов помогает выявить и устранить узкие места в производительности базы данных.
— Правильное использование индексов способствует более эффективному использованию ресурсов сервера и улучшению отклика приложений.

Еще больше полезных книг — в нашем канале @progbook

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Почему на собеседованиях в топовые компании проваливаются даже опытные разработчики

Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.

Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».

Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».

🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей

После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.

👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
⚙️ JaCoCo (Java Code Coverage)

JaCoCo — это инструмент для анализа покрытия кода, который предоставляет более глубокие и настраиваемые отчёты, чем встроенное покрытие в IntelliJ IDEA.

Он особенно полезен при работе в командной среде, в CI/CD пайплайнах и для объективной оценки качества тестов в проектах любого масштаба.

Встроенное покрытие полезно для локальной работы, но в отличие от него, в JaCoCo есть:

— Гибкие отчёты в формате HTML, XML и CSV.
— Интеграция с Maven и Gradle.
— Встроенная поддержка CI/CD (Jenkins, GitLab CI и др.).
— Настройка исключений.
— Интеграция с SonarQube и другими инструментами статического анализа кода.

🔗 JaCoCo GitHub

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Вся правда об увольнениях в IT в 2025-м

Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.

Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:

— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы

Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.

⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
📊 Когда A/B-тесты не работают

A/B-тесты — мощный инструмент для принятия продуктовых решений.

Однако, если пользователи влияют друг на друга, классическая схема может дать искажённые результаты. Это особенно актуально для сервисов с ограниченными ресурсами, таких как такси, каршеринг или доставка еды.

Проблема: пользователи из разных групп конкурируют за один и тот же ресурс, что влияет на метрики.

Решения:


— Временное разбиение.
— Географическое разбиение.
— Модели с учётом взаимодействий.

🔗 Подробнее в статье

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📺 Что посмотреть — Inside Java Newscast #90

📅 Опубликовано: месяц назад
👀 Просмотров: 10 тыс.
🕒 Длительность: около 12 минут

Чем интересно:

— Разбор ключевых изменений в Java 25.
— Обзор нового образовательного сайта Learn.java.
— Подробности о том, как писать более лаконичный и эффективный код с использованием новых фич.
— Прогнозы и инсайты о будущем развития Java и перспективах для разработчиков.

🔗 Смотреть

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 AI-агенты — настоящее, о котором все говорят

На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉

Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!

На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.

🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.

Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.

Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
Библиотека джависта | Java, Spring, Maven, Hibernate pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
👑 Реактивное программирование для масштабируемых приложений

Работаете с высоконагруженными системами и хотите писать неблокирующий, отзывчивый код? Project Reactor — это современная реактивная библиотека для Java, которая позволяет создавать эффективные, масштабируемые и устойчивые приложения.

🔹 Зачем это нужно

— Обеспечивает асинхронную обработку данных с поддержкой backpressure — контроль потока данных, чтобы не перегружать систему.
— Улучшает использование ресурсов: вместо блокировки потоков реактивный код работает с событиями и колбэками.
— Позволяет строить сложные цепочки обработки с лаконичным и выразительным API (Flux, Mono).
— Отлично интегрируется с Spring WebFlux — современным реактивным веб-фреймворком.

🔹 Как использовать

— Подключите зависимость reactor-core в проект.
— Используйте Mono<T> для 0-1 элемента, Flux<T> — для потоков данных.
— Пример:
Flux.just("user1", "user2", "user3")
.flatMap(this::fetchUserDetailsAsync)
.filter(user -> user.isActive())
.subscribe(user -> System.out.println("Active user: " + user.getName()));

— Обрабатывайте ошибки реактивно с помощью операторов onErrorResume, retry.
— Используйте Schedulers для переключения потоков и оптимизации выполнения.

🐸 Библиотека джависта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Linux теперь в Telegram!

Ребята сделали крутейший канал про Linux, где на простых картинках и понятном языке обучают работе с этой ОС, делятся полезными фишками и инструментами

Подписывайтесь: @linuxos_tg
2025/05/30 00:03:11
Back to Top
HTML Embed Code: